Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Made filled resin holes and weed nodes destroyable by xenos #3711

Closed
wants to merge 2 commits into from

Conversation

JackieEstegado
Copy link
Contributor

@JackieEstegado JackieEstegado commented Jun 24, 2023

About the pull request

Made weed nodes destroyable with the plant weeds button.
Made filled resin holes destroyable by harm intent click, with a hive-wide message telling about it to avoid griefing going unnoticed. It does constitute a bit of a buff, due to it being usable for extinguishing yourself.
Both have a short windup delay to avoid accidental use.

Explain why it's good for the game

If a resin hole gets filled it becomes unremovable by xenos until something triggers it, no reason for it to work like that, was just annoying if a badly placed hole got filled.

Pretty much the same for weeds, nice to be able to remove weeds when trying to be stealthy, not giving away your presence (For example the west LZ2 wall on BR when you are doing a Mining Hive and some XX drone weeded it).

Testing Photographs and Procedure

Tested every possible shenanigans I could think of relating to these two things.

Changelog

🆑
qol: Weed nodes are now removable with the 'plant weeds' ability.
balance: Acid filled resin holes can now be destroyed by xenos via clicking on them with harm intent.
/:cl:

@github-actions
Copy link
Contributor

You currently have a negative Fix/Feature pull request delta of -1. Maintainers may close this PR at will. Fixing issues or improving the codebase will improve this score.

@github-actions github-actions bot added Quality of Life Make the game harder to play Balance You need to be a professional veteran game maintainer to comprehend what is being done here. labels Jun 24, 2023
Copy link
Contributor

@Drulikar Drulikar left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not really keen on this, but I'm hardly the last say.

However, I would like this to be tied in with a queen setting that a queen can opt-in to having much like the existing construction_toggle and destruction_toggle options have levels for no-one, leaders, and everyone. Preferably where the setting is off by default (existing behavior).

@@ -217,6 +217,20 @@
to_chat(X, SPAN_XENONOTICE("[src] is occupied by a child."))
return XENO_NO_DELAY_ACTION

if(X.a_intent == INTENT_HARM)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please fix the single letter vars as you need to modify code. See https://github.com/cmss13-devs/cmss13/blob/master/.github/guides/STYLES.md#variables

In VSC its very easy to do this, just ctrl+f, highlight the entire proc block, press the paragraph looking button to restrict search to selection, match case, and match word, and then dropdown to reveal replace.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

E.g.
image

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Have the queen option for both of them, in separate toggles?

Copy link
Contributor

@Drulikar Drulikar Jun 24, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Search for one of those options and you'll see what I mean. It's a single setting with 3 possible states. I think you can have both weed destruction and trap destruction together in the same setting. But up to you.

@@ -27,8 +27,16 @@
return

var/obj/effect/alien/weeds/node/N = locate() in T
if(N && N.weed_strength >= X.weed_level)
to_chat(X, SPAN_WARNING("There's a pod here already!"))
if(N)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please fix the single letter vars as you need to modify code.

@@ -217,6 +217,20 @@
to_chat(X, SPAN_XENONOTICE("[src] is occupied by a child."))
return XENO_NO_DELAY_ACTION

if(X.a_intent == INTENT_HARM)
to_chat(X, SPAN_XENONOTICE("You start tearing away at the hole."))
xeno_attack_delay(X)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think there's really any point to add an attack delay before a do_after.

if(X.a_intent == INTENT_HARM)
to_chat(X, SPAN_XENONOTICE("You start tearing away at the hole."))
xeno_attack_delay(X)
if(!do_after(X, 30, INTERRUPT_NO_NEEDHAND, BUSY_ICON_HOSTILE, src))
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

to_chat(X, SPAN_XENONOTICE("You destroy the trap."))
for(var/mob/living/carbon/xenomorph/Xeno in GLOB.living_xeno_list)
if(Xeno.hivenumber == hivenumber)
to_chat(Xeno, SPAN_XENOMINORWARNING("One of your Hive's traps at [A.name] has been torn apart by [X]!"))
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

To match the wording of /obj/effect/alien/resin/trap/proc/trigger_trap:

Suggested change
to_chat(Xeno, SPAN_XENOMINORWARNING("One of your Hive's traps at [A.name] has been torn apart by [X]!"))
to_chat(Xeno, SPAN_XENOMINORWARNING("You sense one of your Hive's traps at [A.name] has been torn apart by [X]!"))

if(!do_after(X, 10, INTERRUPT_ALL|BEHAVIOR_IMMOBILE, BUSY_ICON_BUILD))
return
playsound(X.loc, "alien_resin_break", 25)
N.Destroy()
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Use qdel instead of directly calling what qdel calls.

return XENO_NO_DELAY_ACTION
var/area/A = get_area(src)
if (X.hivenumber == hivenumber)
Destroy()
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Use qdel instead of directly calling what qdel calls.

to_chat(X, SPAN_WARNING("There's a pod here already!"))
else
to_chat(X, SPAN_WARNING("You start removing the resin node."))
if(!do_after(X, 10, INTERRUPT_ALL|BEHAVIOR_IMMOBILE, BUSY_ICON_BUILD))
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@Drulikar Drulikar marked this pull request as draft June 24, 2023 12:12
@github-actions
Copy link
Contributor

github-actions bot commented Jul 2, 2023

This PR has been inactive for long enough to be automatically marked as stale. This means it is at risk of being auto closed in ~ 7 days, please address any outstanding review items and ensure your PR is finished, if these are all true and you are auto-staled anyway, you need to actively ask maintainers if your PR will be merged. Once you have done any of the previous actions then you should request a maintainer remove the stale label on your PR, to reset the stale timer. If you feel no maintainer will respond in that time, you may wish to close this PR youself, while you seek maintainer comment, as you will then be able to reopen the PR yourself

@github-actions github-actions bot added the Stale beg a maintainer to review your PR label Jul 2, 2023
@cm13-github cm13-github added the Merge Conflict PR can't be merged because it touched too much code label Jul 5, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Balance You need to be a professional veteran game maintainer to comprehend what is being done here. Merge Conflict PR can't be merged because it touched too much code Quality of Life Make the game harder to play Stale beg a maintainer to review your PR
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants